home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_100
/
132_01
/
lib
< prev
next >
Wrap
Text File
|
1985-08-19
|
5KB
|
382 lines
#ASM
PIA0 EQU 0FF00H
PIA1 EQU 0FF20H
ADATA EQU 0
ACNTRL EQU 1
BDATA EQU 2
BCNTRL EQU 3
VDG EQU 0FF22H
obj1:
FDB obj2
FDB 1
FDB 2
FDB 6
FCB 0FFH,0,0FFH,0
FCB 0c0H,03FH,003H,0fcH
FCB 0c0H,03fH,3,0fcH
FCB 0c0H,03fH,3,0fcH
FCB 0c0H,03fH,3,0fcH
FCB 0ffH,0,0ffH,0
obj2:
FDB obj3
FDB 2
FDB 2
FDB 8
FCB 1,0feH,0,0ffH
FCB 3,0fcH,080H,07fH
FCB 7,0f8H,0c0H,03fH
FCB 0aH,0f5H,0a0H,5fH
FCB 8,0f7H,020H,0dfH
FCB 4,0fbH,040H,0bfH
FCB 3,0fcH,080H,07fH
FCB 07fH,080H,0fcH,3
obj3:
FDB 0
FDB 3
FDB 1
FDB 7
FCB 01CH,0e3H
FCB 03eH,0c1H
fcb 07fH,080H,07fH,080H,07fH,080H
FCB 03eH,0c1H
FCB 01cH,0e3H
SCNCTL EQU 0FFC6H
SETSCRN
LDD 2,S
STD SCRADR
RTS
DOSET
LDX #SCNCTL
LDA #6
SETSC1
TFR A,B
ASL 3,S
ROL 2,S
ROLB
STA B,X
DECA
BPL SETSC1
LDD #0
STD SCRADR
RTS
CLKDAT EQU 0FF02H
CLKSTAT EQU 0FF03H
CLKJMP EQU 010DH
OLDCLK EQU 894CH
JOYRTX EQU 346
JOYRTY EQU 347
CLOCK
LDA CLKSTAT
BMI CLOCK1
RTI
CLOCK1
LDA CLKDAT
bsr joyrx
stb JOYRTX
bsr joyry
stb JOYRTY
LDD SCRADR
BEQ CLOCK2
PSHS D
BSR DOSET
PULS D
CLOCK2
LDD FLOP
beq CLOCKX
SUBD #1
STD FLOP
CLOCKX
RTI
FLOP RMB 2
SCRADR RMB 2
PUTCLK
LDD #CLOCK
STD CLKJMP
RTS
REMCLK
LDD #OLDCLK
STD CLKJMP
RTS
IRQON
ANDCC #0EFH
RTS
IRQOFF
ORCC #10H
RTS
SPMOD4
clra
sta 0FFC5H
sta 0FFC3H
sta 0FFC0H
LDA VDG
ORA #0F0H
STA VDG
RTS
joystick:
FCB 0adH,09fH
FDB 0a00aH
rts
joyry:
pshs x,y
bsr rysel
bra joysam
joyrx:
pshs x,y
bsr rxsel
joysam:
ldy #PIA0
ldx #PIA1
joyrx0:
ldb #80H
stb ,x
lda ,Y
bmi jrx15
subb #40H
bra jrx20
jrx15:
addb #40H
jrx20:
stb ,x
lda ,y
bmi jrx25
subb #20H
bra jrx30
jrx25:
addb #20H
jrx30:
stb ,x
lda ,y
bmi jrx35
subb #10H
bra jrx40
jrx35:
addb #10H
jrx40:
stb ,x
lda ,y
bmi jrx45
subb #8
bra jrx50
jrx45:
addb #8
jrx50:
stb ,X
lda ,Y
bmi jrx55
subb #4
bra jrx60
jrx55:
addb #4
jrx60:
stb ,x
lda ,y
bmi jrx65
subb #2
bra jrx70
jrx65:
addb #2
jrx70:
lsrb
lsrb
clra
puls x,y
rts
rysel:
lda (PIA0 + ACNTRL)
ora #8
sta (PIA0 + ACNTRL)
lda (PIA0 + BCNTRL)
anda #0F7H
sta (PIA0 + BCNTRL)
rts
rxsel:
lda (PIA0 + ACNTRL)
anda #0F7H
sta (PIA0 + ACNTRL)
lda (PIA0 + BCNTRL)
anda #0F7H
sta (PIA0 + BCNTRL)
rts
keyboard:
FCB 0adH,09fH
FDB 0a000H
bne keybd1
FCB 0ccH
FDB -1
bra keybdx
keybd1:
FCB 01fH,089H
clra
keybdx: rts
writeobj:
bufsiz = 66
FCB 010H,0aeH,062H
FCB 0a6H,067H
lsra
lsra
lsra
FCB 034H,2
FCB 0a6H,068H
FCB 084H,7
FCB 034H,2
FCB 0a6H,025H
FCB 034H,2
FCB 0a6H,027H
FCB 034H,2
clra
FCB 034H,2
FCB 031H,028H
line:
FCB 08eH
FDB cline
FCB 0e6H,062H
loop0:
FCB 0a6H,0a0H
FCB 0a7H,080H
FCB 0a6H,0a0H
FCB 0a7H,089H
FDB bufsiz - 1
DECB
bne loop0
FCB 06fH,080H
FCB 06fH,089H
FDB bufsiz - 1
FCB 063H,089H
FDB bufsiz - 1
FCB 0a6H,063H
beq outline
FCB 034H,2
shift:
FCB 0e6H,063H
INCB
clra
FCB 08eH
FDB cline
clup:
FCB 066H,080H
DECB
bne clup
FCB 0e6H,063H
INCB
FCB 01aH,1
FCB 08eH
FDB cline + bufsiz
mlup:
FCB 066H,080H
DECB
bne mlup
FCB 06aH,0e4H
bne shift
FCB 035H,4
outline:
FCB 034H,020H
FCB 0e6H,0e8H,010H
FCB 0a6H,062H
FCB 0abH,06cH
FCB 03dH
FCB 0e3H,0e8H,011H
FCB 0ebH,066H
FCB 089H,0
FCB 01fH,1
FCB 010H,08eH
FDB cline
FCB 0e6H,064H
INCB
outlup:
FCB 0a6H,084H
FCB 0a4H,0a9H
FDB bufsiz
FCB 0aaH,0a0H
FCB 0a7H,080H
DECB
bne outlup
FCB 035H,020H
FCB 06cH,0e4H
FCB 0a6H,0e4H
FCB 0a1H,061H
bne line
FCB 032H,065H
rts
eraseobj:
FCB 010H,0aeH,062H
FCB 0a6H,067H
lsra
lsra
lsra
FCB 034H,2
FCB 0a6H,068H
FCB 084H,7
FCB 034H,2
FCB 0a6H,025H
FCB 034H,2
FCB 0a6H,027H
FCB 034H,2
clra
FCB 034H,2
FCB 031H,029H
eline:
FCB 08eH
FDB mline
FCB 0e6H,062H
eloop0:
FCB 0a6H,0a1H
FCB 0a7H,080H
DECB
bne eloop0
FCB 06fH,084H
FCB 063H,084H
FCB 0a6H,063H
beq eoutline
FCB 034H,2
eshift:
FCB 0e6H,063H
INCB
FCB 01aH,1
FCB 08eH
FDB mline
emlup:
FCB 066H,080H
DECB
bne emlup
FCB 06aH,0e4H
bne eshift
FCB 035H,4
eoutline:
FCB 034H,020H
FCB 0e6H,0e8H,010H
FCB 0a6H,062H
FCB 0abH,06cH
FCB 03dH
FCB 0e3H,0e8H,011H
FCB 0ebH,066H
FCB 089H,0
FCB 01fH,1
FCB 010H,08eH
FDB mline
FCB 0e6H,064H
INCB
eoutlup:
FCB 0a6H,084H
FCB 0a4H,0a0H
FCB 0a7H,080H
DECB
bne eoutlup
FCB 035H,020H
FCB 06cH,0e4H
FCB 0a6H,0e4H
FCB 0a1H,061H
bne eline
FCB 032H,065H
rts
cline: ORG * + 66
mline: ORG * + 66
#ENDASM
2H
FCB 0a6H,067H
lsra
lsra
lsra
FCB 034H,2
FCB 0a6H,068H
FCB 084H,7
FCB 034H,2